using System;
using System.Collections.Generic;
using System.Text;

namespace Stratman.Utilities.NetFlix
{
    /// <summary>
    /// Contains data pertaining to a specific NetFlix genre.
    /// </summary>
    public class Genre
    {
        /// <summary>
        /// Numeric identifier for the genre.
        /// </summary>
        protected int id = 0;
        /// <summary>
        /// Numeric identifier for the parent of the genre, 0 if the genre is on the top level.
        /// </summary>
        protected int parentID = 0;
        /// <summary>
        /// Name of the genre.
        /// </summary>
        protected string name = "";

        /// <summary>
        /// Constructor that instantiates the name and the ID.
        /// </summary>
        /// <param name="id">
        /// Numeric identifier for the genre.
        /// </param>
        /// <param name="name">
        /// Name of the genre.
        /// </param>
        public Genre(int id, string name)
        {
            this.id = id;
            this.name = name;
        }

        /// <summary>
        /// Constructor that instantiates the name, ID, and parent ID.
        /// </summary>
        /// <param name="id">
        /// Numeric identifier for the genre.
        /// </param>
        /// <param name="parentID">
        /// Numeric identifier for the parent of the genre.
        /// </param>
        /// <param name="name">
        /// Name of the genere.
        /// </param>
        public Genre(int id, int parentID, string name)
        {
            this.id = id;
            this.parentID = parentID;
            this.name = name;
        }

        /// <summary>
        /// Numeric identifier for the genre.
        /// </summary>
        public int ID
        {
            get
            {
                return id;
            }
        }

        /// <summary>
        /// Numeric identifier for the parent of the genre, 0 if the genre is on the top level.
        /// </summary>
        public int ParentID
        {
            get
            {
                return parentID;
            }
        }

        /// <summary>
        /// Name of the genre.
        /// </summary>
        public string Name
        {
            get
            {
                return name;
            }
        }
    }
}
